#include "font.h"

//初始化Lcd
struct LcdDevice *init_lcd(const char *device)
{
	//申请空间
	struct LcdDevice* lcd = (struct LcdDevice*)malloc(sizeof(struct LcdDevice));
	if(lcd == NULL)
	{
		return NULL;
	} 

	//1打开设备
	lcd->fd = open(device, O_RDWR);
	if(lcd->fd < 0)
	{
		perror("open lcd fail");
		free(lcd);
		return NULL;
	}
	
	//映射
	lcd->mp = (unsigned int*)mmap(NULL,800*480*4,PROT_READ|PROT_WRITE,MAP_SHARED,lcd->fd,0);

	return lcd;
}

int show_scorefont(int score)
{
	
    //初始化Lcd
	struct LcdDevice* lcd = init_lcd("/dev/fb0");
			
	//打开字体
    const char *font_path = "./simfang.ttf";
	font *f =(font*)fontLoad(font_path);
	  
	//字体大小的设置
	fontSetSize(f,64);    //字体大小36，可以人为修改
	
	//创建一个画板（点阵图）  宽是260个像素，高是65个像素,颜色是白色
	bitmap *bm = createBitmapWithInit(260,65,4,getColor(0,255,255,255)); //也可使用createBitmapWithInit函数，改变画板颜色
	
	char buf[20]={0};
    snprintf(buf,sizeof(buf),"得分:%d",score); 
	
	//将字体写到点阵图上  0,0表示汉字在画板的左上角显示
	fontPrint(f,bm,50,10,buf,getColor(0,142,215,172),0);
	                      // A  B  G R

	//把字体框输出到LCD屏幕上,参数0,0表示画板显示的坐标位置
	show_font_to_lcd(lcd->mp,520,87,bm);

	//关闭字体，关闭画板
	fontUnload(f);
	destroyBitmap(bm);
	
    return 0;
}
